package com.ruoyi.project.distribute.service;

import com.ruoyi.project.distribute.domain.HosDocumentLog;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 */
public interface IHosDocumentLogService
{
    /**
     *  创建单据报单信息
     * @param hosDocumentLog 创建信息
     * @return 创建结果
     */
    int insertHosDocumentLog(HosDocumentLog hosDocumentLog);

    /**
     *  查询单据全部新消息
     *
     * @param hosDocumentLog 查询条件
     * @return 查询结果集合
     */
    List<HosDocumentLog> selectHosDocumentList(HosDocumentLog hosDocumentLog);

    /**
     * 根据单据ID和供应商ID查询 对应信息
     *
     * @param documentlogId 单据ID
     * @param provide  供应商ID
     * @return 查询结果
     */
    List <HosDocumentLog> selectHosDocumentLogByDocumentLogIdAndProvideId(String documentlogId, Long provide);

    /**
     * 根据供应商ID 和 申请人 查询单据报单表
     *
     * @param provideId 供应商ID
     * @param documentlogApply 申请人
     * @return 查询结果集合
     */
    List<HosDocumentLog> selectHosDocumentLogInAudit(Long provideId, String documentlogApply);

    /**
     * 修改单据报单表 审核状态
     *
     * @return
     */
    int updateHosDocumentLogAudit(String[] ids);

    /**
     * 修改单据报单表 审核状态
     *
     * @return
     */
    int updateHosDocumentLogAuditError(String[] ids);

    /**
     * 提交 已审核
     * 修改单据报单表 审核状态
     *
     * @param documentlogId
     * @return
     */
    int updateHosDocumentLogAudited(String documentlogId );

    /**
     * 提交 作废
     * 修改单据报单表 审核状态
     *
     * @param documentlogId
     * @return
     */
    int updateHosDocumentLogInvalid(String documentlogId);

    /**
     * 提交 入库成功
     * 修改单据报单表 审核状态
     *
     * @param documentlogId
     * @return
     */
    int updateHosDocumentLogSuccess(String documentlogId);

    /**
     * 提交审核 待审核
     * 修改单据保单表 审核状态
     *
     * @param documentlogId
     * @return
     */
    int updateHosDocumentLogToAudit(String documentlogId);
}
